1
Membangun Fondasi: Interaktivitas CLI di Rust
AI034Lesson 2
00:00

Dialog dalam Pemrograman

Pikirkan perbedaan antara "Hello, world!" yang sederhana dan permainan tebak-tebakan sebagai perbedaan antara monolog dan sebuah dialog. Dalam monolog, program berbicara dan berhenti. Dalam dialog, program mengajukan pertanyaan, membuka pendengar, dan menahan jam internalnya hingga pengguna merespons.

1. Pra-Perkenalan dan Lingkup

Rust secara otomatis mengimpor sejumlah kecil item yang disebut pra-perkenalan ke dalam setiap program. Namun, untuk tugas khusus seperti input terminal, kita harus secara eksplisit membawa Pustaka Standar ke dalam lingkup menggunakan use std::io;. Ini menjembatani celah antara logika internal program Anda dan lingkungan eksternal.

TerminalKeluaran StandarProgram Rustlingkup main()println! (Makro)io::stdin() (Masukan)

2. Makro vs Fungsi

Anda akan melihat bahwa println! berakhir dengan tanda seru. Ini mengidentifikasinya sebagai makro. Berbeda dengan fungsi biasa, makro dapat menangani jumlah argumen yang bervariasi dan melakukan interpolasi string (mengisi {tebakan}) pada saat kompilasi.

3. Siklus Interaktif

Ketika Anda menjalankan cargo run, program akan diinisialisasi, mencapai io::stdin().read_line(), dan menangguhkan. Ia menunggu pengguna menekan tombol 'Enter', lalu membungkus masukan tersebut menjadi tipe Hasil untuk menangani kemungkinan kegagalan perangkat keras secara aman.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>